/* 
 * File:   F03a.h
 * Author: jcrada
 *
 * Created on 25 July 2011, 12:24 PM
 */

#ifndef JRV_F03A_H
#define	JRV_F03A_H
#include "ecb/base/Problem.h"

#include "ecb/function/Schwefel2_22.h"

namespace ecb {
    namespace jrv11 {

        class F03a : public Problem {
        private:
            Problem* schwefel;
        public:

            F03a(int dimensions)
            : Problem("F03", "Schwefel2_22", dimensions,
            -5.12, 5.12, true) {
                schwefel = new Schwefel2_22;
            }

            ~F03a() {
                delete schwefel;
            }

            scalar f(const std::vector<scalar>& x) {
                scalar result =
                        schwefel->f(x);
                return result;
            }
        };
    }
}

#endif	/* JRV_F03A_H */

